


<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title>QuickIO.NET - QuickIOTransferBackgroundService</title>
        <meta name="viewport" content="width=device-width">

					<link rel="stylesheet" type="text/css" href="../assets/css/style.css?version=0.9.4.0" />
			<script src="../assets/js/vendor.js?version=0.9.4.0"></script>
			<script src="../assets/js/frame.js?version=0.9.4.0"></script>
		
		<script>hljs.initHighlightingOnLoad();</script>

    </head>
    <body>        
        
		<!-- DropDowns -->
		<div id="dropdown-1" class="dropdown dropdown-tip">
			<ul class="dropdown-menu">
							</ul>
		</div>

		<div id="dropdown-2" class="dropdown dropdown-tip">
			<ul class="dropdown-menu">
							</ul>
		</div>

		<div id="dropdown-3" class="dropdown dropdown-tip">
			<ul class="dropdown-menu">
				
					<li><a href="#QuickIOTransferBackgroundService2"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> QuickIOTransferBackgroundService(IQuickIOTransferObserver observer, Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</a></li>

				
					<li><a href="#QuickIOTransferBackgroundService"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> QuickIOTransferBackgroundService(Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</a></li>

				
				
					<li><a href="#Add"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> Add(QuickIOTransferFileCopyJob queueItem)</a></li>

				
					<li><a href="#AddWorker2"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> AddWorker(Int32 count)</a></li>

				
					<li><a href="#RemoveWorker2"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> RemoveWorker(Int32 count)</a></li>

				
					<li><a href="#Start3"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> Start()</a></li>

				
					<li><a href="#WaitForFinish2"><img alt="Method-Icon" src="../assets/images/icons/method_public.png"> WaitForFinish()</a></li>

							</ul>
		</div>

		<div id="dropdown-4" class="dropdown dropdown-tip">
			<ul class="dropdown-menu">
							</ul>
		</div>
		<!-- DropDowns Ende -->

	    <div class="ui-layout-north">
			<div class="toolbar">

									<a href="#" data-dropdown="#dropdown-3" class="button"><img src="../assets/images/icons/method_public.png"/> Methods <span class="info">(7)</span> <i class="icon-caret-down"></i></a>
				
				<div class="right">
					<span class="toolbar-info"> Namespace: SchwabenCode.QuickIO.Transfer</span>
					<a href="#" id="expand-all-button" class="button"><i class="icon-align-justify" title="Expand all"></i></a>
					<a href="#" id="print-button" class="button"><i class="icon-print" title="Print"></i></a>
				</div>
				<div style="clear:both;"></div>
			</div>
		</div>
        
		<div class="ui-layout-center">

			<div>
				<h3 class="box-title first-heading">Syntax</h3>					
				<div class="syntax-box">
					<pre class="wrap-pre"><code>public class QuickIOTransferBackgroundService : QuickIOTransferServiceBase</code></pre>
				</div>

									<h3 class="box-title">Basetype</h3>
					<div class="list-box">
						<ul>
														<li><a href="../type/QuickIOTransferServiceBase.html">SchwabenCode.QuickIO.Transfer.QuickIOTransferServiceBase</a></li>
																			</ul>
					</div>
				
				        
				
											<h3 class="box-title">Summary</h3>
						<div class="doc-box markdown">
							<p>Instance for the continuous transfer of files; for example as a service.</p>

						</div>
					
					
											<h3 class="box-title">Example</h3>
						<div class="doc-box markdown">
							<p>Sort incoming files by an always watching file service</p>

<pre><code>class Program
{
const string dropDirectory = @"C:\transfer_test\dropfolder";
const string pictureFolder = @"C:\transfer_test\pictures";
const string movieFolder = @"C:\transfer_test\movies";


protected static QuickIOTransferBackgroundService TransferBackgroundService = new QuickIOTransferBackgroundService( workerCount: 2, maxFileRetry: 5 );
protected static FileSystemWatcher PictureWatcher = new FileSystemWatcher( dropDirectory, "*.png" );
protected static FileSystemWatcher MovieWatcher = new FileSystemWatcher( dropDirectory, "*.mp4" );

static void Main( string[ ] args )
{
    PictureWatcher.Created += OnCreated_Picture;
    MovieWatcher.Created += OnCreated_MovieFile;

    TransferBackgroundService.Enqueued += OnJobEnqueued;
    TransferBackgroundService.Dequeued += OnJobDequeued;
    TransferBackgroundService.Requeued += JobRequeued;
    TransferBackgroundService.WorkerPickedJob += OnServiceWorkerPickedJob;

    TransferBackgroundService.WorkerCreated += OnServiceWorkerCreated;
    TransferBackgroundService.WorkerStarted += OnServiceWorkerStarted;
    TransferBackgroundService.WorkerPickedJob += OnServiceWorkerPickedJob;

    TransferBackgroundService.Started += OnFileCopyStarted;
    TransferBackgroundService.Progress += OnFileCopyProgress;
    TransferBackgroundService.Finished += OnFileCopyFinished;

    TransferBackgroundService.StartWorking( );

    Console.WriteLine( "Service is running." );
    Console.ReadKey( );

    // Ends on key input
}

/// &lt;summary&gt;
/// worker started
/// &lt;/summary&gt;
private static void OnServiceWorkerStarted( object sender, QuickIOTransferWorkerStartedEventArgs e )
{
    Console.WriteLine( "[!] Worker Started. ID: " + e.WorkerID );
}

/// &lt;summary&gt;
/// new worker
/// &lt;/summary&gt;
static void OnServiceWorkerCreated( object sender, QuickIOTransferWorkerCreatedEventArgs e )
{
    Console.WriteLine( "[!] New Worker. ID: " + e.WorkerID );
}

/// &lt;summary&gt;
/// worker catched a job
/// &lt;/summary&gt;
static void OnServiceWorkerPickedJob( object sender, QuickIOTransferWorkerPickedJobEventArgs e )
{
    Console.WriteLine( "[!] Worker ID# " + e.WorkerID + " picked job: " + e.GetType( ) );
}

/// &lt;summary&gt;
/// job was broken by an exception, but requred
/// &lt;/summary&gt;
static void JobRequeued( object sender, QuickIOTransferJobRequeuedArgs e )
{
    Console.WriteLine( "[JOB REQUEUED] Try: #" + e.Job.CurrentRetryCount + " - " + e.Job.GetType( ) + " failed: " + e.Exception.Message );
}

/// &lt;summary&gt;
/// Report of job was taken from queue
/// &lt;/summary&gt;
static void OnJobDequeued( object sender, QuickIOTransferJobDequeuedArgs e )
{
    Console.WriteLine( "[JOB DEQUEUED] " + e.Job.GetType( ) );
}

/// &lt;summary&gt;
/// Report for new jobs
/// &lt;/summary&gt;
static void OnJobEnqueued( object sender, QuickIOTransferJobEnqueuedArgs e )
{
    Console.WriteLine( "[NEW JOB] " + e.Job.GetType( ) );
}

/// &lt;summary&gt;
/// Progress Report
/// &lt;/summary&gt;
static void OnFileCopyStarted( object sender, QuickIOTransferFileCopyStartedArgs args )
{
    Console.WriteLine( "&gt;&gt;&gt;&gt;&gt;&gt; STARTED " + args.SourcePath + " to " + args.TargetPath );
}

/// &lt;summary&gt;
/// Progress Report
/// &lt;/summary&gt;
static void OnFileCopyFinished( object sender, QuickIOTransferFileCopyFinishedArgs args )
{
    Console.WriteLine( "&gt;&gt;&gt;&gt;&gt;&gt; FINISHED " + args.SourcePath + " to " + args.TargetPath + " - MB/s: " + ( args.BytesPerSecond / 1024.0 / 1024.0 ).ToString( "0.0" ) );
}
/// &lt;summary&gt;
/// Progress Report
/// &lt;/summary&gt;
static void OnFileCopyProgress( object sender, QuickIOTransferFileCopyProgressArgs args )
{
    Console.WriteLine( "Transfering " + args.SourcePath + " to " + args.TargetPath + " - %: " + args.Percentage + " MB/s: " + ( args.BytesPerSecond / 1024.0 / 1024.0 ).ToString( "0.0" ) );
}

/// &lt;summary&gt;
/// Copy movie file from drop folder to internal movie folder
/// &lt;/summary&gt;
static void OnCreated_MovieFile( object sender, FileSystemEventArgs e )
{
    var queueItem = new QuickIOTransferFileCopyJob( e.FullPath, movieFolder, overwrite: true );
    TransferBackgroundService.Add( queueItem );
}

/// &lt;summary&gt;
/// Copy picture file from drop folder to internal picture folder
/// &lt;/summary&gt;
static void OnCreated_Picture( object sender, FileSystemEventArgs e )
{
    var queueItem = new QuickIOTransferFileCopyJob( e.FullPath, pictureFolder, overwrite: true, parentExistanceCheck: false );
    TransferBackgroundService.Add( queueItem );
}
}
</code></pre>

						</div>
					
					
					
					
					
					
				
									<h3 class="box-title">Uses</h3>
					<div class="list-box">
						<ul>
													<li><a href="../type/QuickIOTransferServiceBase.html">QuickIOTransferServiceBase</a></li>
												</ul>
					</div>
				
				
				
				
									<h3 class="box-title">Methods</h3>
											















<div id="QuickIOTransferBackgroundService2" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>QuickIOTransferBackgroundService(IQuickIOTransferObserver observer, Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</p></a>
		
			
				<div class="summary markdown">
					<p>Creates an instance for QuickIOTransferBackgroundService with specified observer</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void QuickIOTransferBackgroundService(IQuickIOTransferObserver observer, Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</code></pre>
		</div>		
        
		

		
		
			
				<p class="member-box-title">Parameters</p>
				<div class="member-doc-box markdown">
					
						<p class="key">observer</p>
						
						
									
									<small>IQuickIOTransferObserver</small>

														
						
						<div class="inline">
							<p>Observer for monitoring</p>

						</div>
					
						<p class="key">workerCount</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							
						</div>
					
						<p class="key">maxFileRetry</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							
						</div>
					
						<p class="key">autostart</p>
						
						
									
									<small>Boolean</small>

														
						
						<div class="inline">
							<p>true to auto start. false to start service by using </p>

						</div>
					
				</div>
			

			

			

			

			

			
						
			

		

		

	</div>
</div>


											















<div id="QuickIOTransferBackgroundService" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>QuickIOTransferBackgroundService(Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</p></a>
		
			
				<div class="summary markdown">
					<p>Creates an instance for QuickIOTransferBackgroundService with default observer</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void QuickIOTransferBackgroundService(Int32 workerCount, Int32 maxFileRetry, Boolean autostart)</code></pre>
		</div>		
        
		

		
		
			
				<p class="member-box-title">Parameters</p>
				<div class="member-doc-box markdown">
					
						<p class="key">workerCount</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							
						</div>
					
						<p class="key">maxFileRetry</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							
						</div>
					
						<p class="key">autostart</p>
						
						
									
									<small>Boolean</small>

														
						
						<div class="inline">
							<p>true to auto start. false to start service by using </p>

						</div>
					
				</div>
			

			

			

			

			

			
						
			

		

		

	</div>
</div>


											















<div id="Add" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>Add(QuickIOTransferFileCopyJob queueItem)</p></a>
		
			
				<div class="summary markdown">
					<p>Adds an item to the queue. null will not be insered and returns false.
If CompleteAdding is called the return value is false, too</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void Add(QuickIOTransferFileCopyJob queueItem)</code></pre>
		</div>		
        
		

		
		
			
				<p class="member-box-title">Parameters</p>
				<div class="member-doc-box markdown">
					
						<p class="key">queueItem</p>
						
						
									
									<small>QuickIOTransferFileCopyJob</small>

														
						
						<div class="inline">
							<p>Item to add</p>

						</div>
					
				</div>
			

			

			
				<p class="member-box-title">Returns</p>
				<div class="member-doc-box">
					<p>true on add; false if not</p>

				</div>
			

			

			

			
						
			

		

		

	</div>
</div>


											















<div id="AddWorker2" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>AddWorker(Int32 count)</p></a>
		
			
				<div class="summary markdown">
					<p>Adds a new worker to the service. Worker will be created and started instantly.</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void AddWorker(Int32 count)</code></pre>
		</div>		
        
		

		
		
			
				<p class="member-box-title">Parameters</p>
				<div class="member-doc-box markdown">
					
						<p class="key">count</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							<p>Must be 1 or greater</p>

						</div>
					
				</div>
			

			

			

			

			
				<p class="member-box-title">Remarks</p>
				<div class="member-doc-box markdown">
					<p>It's not recommended to use more workers than the count of useable CPU cores.</p>

				</div>
			

			
						
			

		

		

	</div>
</div>


											















<div id="RemoveWorker2" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>RemoveWorker(Int32 count)</p></a>
		
			
				<div class="summary markdown">
					<p>Remove workers from the service.</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void RemoveWorker(Int32 count)</code></pre>
		</div>		
        
		

		
		
			
				<p class="member-box-title">Parameters</p>
				<div class="member-doc-box markdown">
					
						<p class="key">count</p>
						
						
									
									<small>Int32</small>

														
						
						<div class="inline">
							<p>Must be 1 or greater</p>

						</div>
					
				</div>
			

			

			

			

			

			
						
			

		

		

	</div>
</div>


											















<div id="Start3" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>Start()</p></a>
		
			
				<div class="summary markdown">
					<p>Starts the service if not started yet</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public Boolean Start()</code></pre>
		</div>		
        
		

		
		
			

			

			

			

			

			
						
			

		

		

	</div>
</div>


											















<div id="WaitForFinish2" class="member">
	<div class="member-header">		
		<a href="#"><i class="icon-caret-right"></i><img src="../assets/images/icons/method_public.png"/> <p>WaitForFinish()</p></a>
		
			
				<div class="summary markdown">
					<p>Joins all threads and blocks until all threads and queue items are completed.
Queue has to be completed.</p>

				</div>
			
		
	</div>

	<div class="member-content">

		<div class="syntax-box">
			<pre class="wrap-pre"><code>public void WaitForFinish()</code></pre>
		</div>		
        
		

		
		
			

			

			

			

			

			
						
			

		

		

	</div>
</div>


									
				
									<div class="svg-diagram">
						<h3 class="box-title">Classdiagram</h3>
						<div id="sd-class-diagram" class="svgpan">
														<svg><g transform="translate(0.00, 1730.50)"><rect height="226" width="312" x="0.55" y="0.55" fill="#FFFFFF" stroke="#979797" stroke-width="1" /><text x="122.51" y="20.50" fill="" style="" text-anchor="" font-family="" font-size="11.00" onmouseover="" onmouseout=""><![CDATA[public  class]]></text><a xlink:href="../type/QuickIOTransferBackgroundService.html" xmlns:xlink="xlink"><text x="32.24" y="35.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferBackgroundService]]></text></a><path d="M0.5,45.50L312.00,45.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="53.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#Add" xmlns:xlink="xlink"><text x="40.00" y="65.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Add]]></text></a><image width="16.00" height="16.00" x="15.00" y="78.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#AddWorker2" xmlns:xlink="xlink"><text x="40.00" y="90.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[AddWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="103.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#RemoveWorker2" xmlns:xlink="xlink"><text x="40.00" y="115.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[RemoveWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="128.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#Start3" xmlns:xlink="xlink"><text x="40.00" y="140.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Start]]></text></a><image width="16.00" height="16.00" x="15.00" y="153.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#WaitForFinish2" xmlns:xlink="xlink"><text x="40.00" y="165.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WaitForFinish]]></text></a><image width="16.00" height="16.00" x="15.00" y="178.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#QuickIOTransferBackgroundService2" xmlns:xlink="xlink"><text x="40.00" y="190.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferBackgroundService]]></text></a><image width="16.00" height="16.00" x="15.00" y="203.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferBackgroundService.html#QuickIOTransferBackgroundService" xmlns:xlink="xlink"><text x="40.00" y="215.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferBackgroundService]]></text></a></g><g transform="translate(0.00, 0.00)"><rect height="1681" width="325" x="0.55" y="0.55" fill="#FFFFFF" stroke="#979797" stroke-width="1" /><text x="129.01" y="20.50" fill="" style="" text-anchor="" font-family="" font-size="11.00" onmouseover="" onmouseout=""><![CDATA[public  class]]></text><a xlink:href="../type/QuickIOTransferServiceBase.html" xmlns:xlink="xlink"><text x="63.53" y="35.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><path d="M0.5,45.50L325.00,45.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="53.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_jobQueue" xmlns:xlink="xlink"><text x="40.00" y="65.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_jobQueue]]></text></a><image width="16.00" height="16.00" x="15.00" y="78.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_jobQueueLock" xmlns:xlink="xlink"><text x="40.00" y="90.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_jobQueueLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="103.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxBufferSize" xmlns:xlink="xlink"><text x="40.00" y="115.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxBufferSize]]></text></a><image width="16.00" height="16.00" x="15.00" y="128.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxJobRetryAttempts" xmlns:xlink="xlink"><text x="40.00" y="140.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxJobRetryAttempts]]></text></a><image width="16.00" height="16.00" x="15.00" y="153.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxWorkerCount" xmlns:xlink="xlink"><text x="40.00" y="165.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxWorkerCount]]></text></a><image width="16.00" height="16.00" x="15.00" y="178.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerCountRemoveRequested" xmlns:xlink="xlink"><text x="40.00" y="190.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerCountRemoveRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="203.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerCountRemoveRequestedLock" xmlns:xlink="xlink"><text x="40.00" y="215.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerCountRemoveRequestedLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="228.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerShutdownLock" xmlns:xlink="xlink"><text x="40.00" y="240.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerShutdownLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="253.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerThreads" xmlns:xlink="xlink"><text x="40.00" y="265.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerThreads]]></text></a><image width="16.00" height="16.00" x="15.00" y="278.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerThreadsLock" xmlns:xlink="xlink"><text x="40.00" y="290.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerThreadsLock]]></text></a><path d="M0.5,305.50L325.00,305.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="313.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CancellationRequested" xmlns:xlink="xlink"><text x="40.00" y="325.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CancellationRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="338.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CompletedAddingRequested" xmlns:xlink="xlink"><text x="40.00" y="350.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CompletedAddingRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="363.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobDequeued" xmlns:xlink="xlink"><text x="40.00" y="375.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobDequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="388.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobEnqueued" xmlns:xlink="xlink"><text x="40.00" y="400.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobEnqueued]]></text></a><image width="16.00" height="16.00" x="15.00" y="413.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobRequeued" xmlns:xlink="xlink"><text x="40.00" y="425.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobRequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="438.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobRetryMaxReached" xmlns:xlink="xlink"><text x="40.00" y="450.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobRetryMaxReached]]></text></a><image width="16.00" height="16.00" x="15.00" y="463.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerCreated" xmlns:xlink="xlink"><text x="40.00" y="475.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerCreated]]></text></a><image width="16.00" height="16.00" x="15.00" y="488.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerIsWaiting" xmlns:xlink="xlink"><text x="40.00" y="500.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerIsWaiting]]></text></a><image width="16.00" height="16.00" x="15.00" y="513.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerPickedJob" xmlns:xlink="xlink"><text x="40.00" y="525.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerPickedJob]]></text></a><image width="16.00" height="16.00" x="15.00" y="538.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerShutdown" xmlns:xlink="xlink"><text x="40.00" y="550.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerShutdown]]></text></a><image width="16.00" height="16.00" x="15.00" y="563.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerStarted" xmlns:xlink="xlink"><text x="40.00" y="575.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerStarted]]></text></a><image width="16.00" height="16.00" x="15.00" y="588.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerWokeUp" xmlns:xlink="xlink"><text x="40.00" y="600.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerWokeUp]]></text></a><path d="M0.5,615.50L325.00,615.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="623.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#AddWorker" xmlns:xlink="xlink"><text x="40.00" y="635.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[AddWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="648.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Cancel" xmlns:xlink="xlink"><text x="40.00" y="660.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Cancel]]></text></a><image width="16.00" height="16.00" x="15.00" y="673.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Clear" xmlns:xlink="xlink"><text x="40.00" y="685.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Clear]]></text></a><image width="16.00" height="16.00" x="15.00" y="698.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CompleteAdding" xmlns:xlink="xlink"><text x="40.00" y="710.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CompleteAdding]]></text></a><image width="16.00" height="16.00" x="15.00" y="723.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CreateWorkers" xmlns:xlink="xlink"><text x="40.00" y="735.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CreateWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="748.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalAdd" xmlns:xlink="xlink"><text x="40.00" y="760.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalAdd]]></text></a><image width="16.00" height="16.00" x="15.00" y="773.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalAddRange" xmlns:xlink="xlink"><text x="40.00" y="785.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalAddRange]]></text></a><image width="16.00" height="16.00" x="15.00" y="798.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalCreateNewWorker" xmlns:xlink="xlink"><text x="40.00" y="810.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalCreateNewWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="823.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalReSortLockedQueue" xmlns:xlink="xlink"><text x="40.00" y="835.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalReSortLockedQueue]]></text></a><image width="16.00" height="16.00" x="15.00" y="848.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalStartWorker" xmlns:xlink="xlink"><text x="40.00" y="860.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalStartWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="873.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalWaitForNewQueueItems" xmlns:xlink="xlink"><text x="40.00" y="885.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalWaitForNewQueueItems]]></text></a><image width="16.00" height="16.00" x="15.00" y="898.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobExecuteSwitch" xmlns:xlink="xlink"><text x="40.00" y="910.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobExecuteSwitch]]></text></a><image width="16.00" height="16.00" x="15.00" y="923.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnCancellationRequested2" xmlns:xlink="xlink"><text x="40.00" y="935.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnCancellationRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="948.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnCompletedAddingRequested2" xmlns:xlink="xlink"><text x="40.00" y="960.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnCompletedAddingRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="973.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobDequeued2" xmlns:xlink="xlink"><text x="40.00" y="985.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobDequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="998.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobEnqueued2" xmlns:xlink="xlink"><text x="40.00" y="1010.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobEnqueued]]></text></a><image width="16.00" height="16.00" x="15.00" y="1023.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobRequeued2" xmlns:xlink="xlink"><text x="40.00" y="1035.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobRequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="1048.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobRetryMaxReached2" xmlns:xlink="xlink"><text x="40.00" y="1060.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobRetryMaxReached]]></text></a><image width="16.00" height="16.00" x="15.00" y="1073.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerCreated2" xmlns:xlink="xlink"><text x="40.00" y="1085.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerCreated]]></text></a><image width="16.00" height="16.00" x="15.00" y="1098.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerIsWaiting2" xmlns:xlink="xlink"><text x="40.00" y="1110.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerIsWaiting]]></text></a><image width="16.00" height="16.00" x="15.00" y="1123.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerPickedJob2" xmlns:xlink="xlink"><text x="40.00" y="1135.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerPickedJob]]></text></a><image width="16.00" height="16.00" x="15.00" y="1148.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerShutdown2" xmlns:xlink="xlink"><text x="40.00" y="1160.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerShutdown]]></text></a><image width="16.00" height="16.00" x="15.00" y="1173.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerStarted2" xmlns:xlink="xlink"><text x="40.00" y="1185.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerStarted]]></text></a><image width="16.00" height="16.00" x="15.00" y="1198.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerWokeUp2" xmlns:xlink="xlink"><text x="40.00" y="1210.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerWokeUp]]></text></a><image width="16.00" height="16.00" x="15.00" y="1223.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#RemoveThread" xmlns:xlink="xlink"><text x="40.00" y="1235.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[RemoveThread]]></text></a><image width="16.00" height="16.00" x="15.00" y="1248.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#RemoveWorker" xmlns:xlink="xlink"><text x="40.00" y="1260.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[RemoveWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="1273.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartConsuming" xmlns:xlink="xlink"><text x="40.00" y="1285.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartConsuming]]></text></a><image width="16.00" height="16.00" x="15.00" y="1298.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartWorkers" xmlns:xlink="xlink"><text x="40.00" y="1310.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="1323.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartWorking" xmlns:xlink="xlink"><text x="40.00" y="1335.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartWorking]]></text></a><image width="16.00" height="16.00" x="15.00" y="1348.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WaitForFinish" xmlns:xlink="xlink"><text x="40.00" y="1360.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WaitForFinish]]></text></a><image width="16.00" height="16.00" x="15.00" y="1373.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WakeUpSleepingWorkers" xmlns:xlink="xlink"><text x="40.00" y="1385.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WakeUpSleepingWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="1398.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#QuickIOTransferServiceBase" xmlns:xlink="xlink"><text x="40.00" y="1410.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><image width="16.00" height="16.00" x="15.00" y="1423.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#QuickIOTransferServiceBase2" xmlns:xlink="xlink"><text x="40.00" y="1435.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><path d="M0.5,1450.50L325.00,1450.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="1458.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#AddingCompleted" xmlns:xlink="xlink"><text x="40.00" y="1470.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[AddingCompleted { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1483.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CancelRequested" xmlns:xlink="xlink"><text x="40.00" y="1495.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CancelRequested { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1508.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#IsWorking" xmlns:xlink="xlink"><text x="40.00" y="1520.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[IsWorking { get; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1533.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxBufferSize" xmlns:xlink="xlink"><text x="40.00" y="1545.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxBufferSize { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1558.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxJobRetryAttempts" xmlns:xlink="xlink"><text x="40.00" y="1570.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxJobRetryAttempts { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1583.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxWorkerCount" xmlns:xlink="xlink"><text x="40.00" y="1595.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxWorkerCount { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1608.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Observer" xmlns:xlink="xlink"><text x="40.00" y="1620.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Observer { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1633.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#PriorityComparer" xmlns:xlink="xlink"><text x="40.00" y="1645.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[PriorityComparer { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1658.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerCount" xmlns:xlink="xlink"><text x="40.00" y="1670.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerCount { get; }]]></text></a></g><g><path d="M50.00,1680.50L50.00,1730.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><polygon points="50.00,1680.50 45.00,1690.50 55.00,1690.50" fill="#FFFFFF" stroke="#979797" stroke-width="" /></g><g transform="translate(362.00, 1780.50)"><rect height="1681" width="325" x="0.55" y="0.55" fill="#FFFFFF" stroke="#979797" stroke-width="1" /><text x="129.01" y="20.50" fill="" style="" text-anchor="" font-family="" font-size="11.00" onmouseover="" onmouseout=""><![CDATA[public  class]]></text><a xlink:href="../type/QuickIOTransferServiceBase.html" xmlns:xlink="xlink"><text x="63.53" y="35.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><path d="M0.5,45.50L325.00,45.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="53.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_jobQueue" xmlns:xlink="xlink"><text x="40.00" y="65.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_jobQueue]]></text></a><image width="16.00" height="16.00" x="15.00" y="78.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_jobQueueLock" xmlns:xlink="xlink"><text x="40.00" y="90.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_jobQueueLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="103.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxBufferSize" xmlns:xlink="xlink"><text x="40.00" y="115.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxBufferSize]]></text></a><image width="16.00" height="16.00" x="15.00" y="128.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxJobRetryAttempts" xmlns:xlink="xlink"><text x="40.00" y="140.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxJobRetryAttempts]]></text></a><image width="16.00" height="16.00" x="15.00" y="153.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_maxWorkerCount" xmlns:xlink="xlink"><text x="40.00" y="165.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_maxWorkerCount]]></text></a><image width="16.00" height="16.00" x="15.00" y="178.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerCountRemoveRequested" xmlns:xlink="xlink"><text x="40.00" y="190.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerCountRemoveRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="203.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerCountRemoveRequestedLock" xmlns:xlink="xlink"><text x="40.00" y="215.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerCountRemoveRequestedLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="228.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerShutdownLock" xmlns:xlink="xlink"><text x="40.00" y="240.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerShutdownLock]]></text></a><image width="16.00" height="16.00" x="15.00" y="253.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerThreads" xmlns:xlink="xlink"><text x="40.00" y="265.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerThreads]]></text></a><image width="16.00" height="16.00" x="15.00" y="278.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#_workerThreadsLock" xmlns:xlink="xlink"><text x="40.00" y="290.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[_workerThreadsLock]]></text></a><path d="M0.5,305.50L325.00,305.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="313.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CancellationRequested" xmlns:xlink="xlink"><text x="40.00" y="325.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CancellationRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="338.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CompletedAddingRequested" xmlns:xlink="xlink"><text x="40.00" y="350.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CompletedAddingRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="363.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobDequeued" xmlns:xlink="xlink"><text x="40.00" y="375.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobDequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="388.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobEnqueued" xmlns:xlink="xlink"><text x="40.00" y="400.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobEnqueued]]></text></a><image width="16.00" height="16.00" x="15.00" y="413.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobRequeued" xmlns:xlink="xlink"><text x="40.00" y="425.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobRequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="438.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobRetryMaxReached" xmlns:xlink="xlink"><text x="40.00" y="450.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobRetryMaxReached]]></text></a><image width="16.00" height="16.00" x="15.00" y="463.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerCreated" xmlns:xlink="xlink"><text x="40.00" y="475.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerCreated]]></text></a><image width="16.00" height="16.00" x="15.00" y="488.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerIsWaiting" xmlns:xlink="xlink"><text x="40.00" y="500.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerIsWaiting]]></text></a><image width="16.00" height="16.00" x="15.00" y="513.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerPickedJob" xmlns:xlink="xlink"><text x="40.00" y="525.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerPickedJob]]></text></a><image width="16.00" height="16.00" x="15.00" y="538.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerShutdown" xmlns:xlink="xlink"><text x="40.00" y="550.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerShutdown]]></text></a><image width="16.00" height="16.00" x="15.00" y="563.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerStarted" xmlns:xlink="xlink"><text x="40.00" y="575.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerStarted]]></text></a><image width="16.00" height="16.00" x="15.00" y="588.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerWokeUp" xmlns:xlink="xlink"><text x="40.00" y="600.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerWokeUp]]></text></a><path d="M0.5,615.50L325.00,615.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="623.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#AddWorker" xmlns:xlink="xlink"><text x="40.00" y="635.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[AddWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="648.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Cancel" xmlns:xlink="xlink"><text x="40.00" y="660.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Cancel]]></text></a><image width="16.00" height="16.00" x="15.00" y="673.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Clear" xmlns:xlink="xlink"><text x="40.00" y="685.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Clear]]></text></a><image width="16.00" height="16.00" x="15.00" y="698.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CompleteAdding" xmlns:xlink="xlink"><text x="40.00" y="710.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CompleteAdding]]></text></a><image width="16.00" height="16.00" x="15.00" y="723.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CreateWorkers" xmlns:xlink="xlink"><text x="40.00" y="735.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CreateWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="748.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalAdd" xmlns:xlink="xlink"><text x="40.00" y="760.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalAdd]]></text></a><image width="16.00" height="16.00" x="15.00" y="773.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalAddRange" xmlns:xlink="xlink"><text x="40.00" y="785.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalAddRange]]></text></a><image width="16.00" height="16.00" x="15.00" y="798.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalCreateNewWorker" xmlns:xlink="xlink"><text x="40.00" y="810.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalCreateNewWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="823.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalReSortLockedQueue" xmlns:xlink="xlink"><text x="40.00" y="835.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalReSortLockedQueue]]></text></a><image width="16.00" height="16.00" x="15.00" y="848.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalStartWorker" xmlns:xlink="xlink"><text x="40.00" y="860.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalStartWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="873.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#InternalWaitForNewQueueItems" xmlns:xlink="xlink"><text x="40.00" y="885.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[InternalWaitForNewQueueItems]]></text></a><image width="16.00" height="16.00" x="15.00" y="898.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#JobExecuteSwitch" xmlns:xlink="xlink"><text x="40.00" y="910.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[JobExecuteSwitch]]></text></a><image width="16.00" height="16.00" x="15.00" y="923.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnCancellationRequested2" xmlns:xlink="xlink"><text x="40.00" y="935.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnCancellationRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="948.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnCompletedAddingRequested2" xmlns:xlink="xlink"><text x="40.00" y="960.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnCompletedAddingRequested]]></text></a><image width="16.00" height="16.00" x="15.00" y="973.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobDequeued2" xmlns:xlink="xlink"><text x="40.00" y="985.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobDequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="998.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobEnqueued2" xmlns:xlink="xlink"><text x="40.00" y="1010.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobEnqueued]]></text></a><image width="16.00" height="16.00" x="15.00" y="1023.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobRequeued2" xmlns:xlink="xlink"><text x="40.00" y="1035.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobRequeued]]></text></a><image width="16.00" height="16.00" x="15.00" y="1048.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnJobRetryMaxReached2" xmlns:xlink="xlink"><text x="40.00" y="1060.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnJobRetryMaxReached]]></text></a><image width="16.00" height="16.00" x="15.00" y="1073.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerCreated2" xmlns:xlink="xlink"><text x="40.00" y="1085.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerCreated]]></text></a><image width="16.00" height="16.00" x="15.00" y="1098.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerIsWaiting2" xmlns:xlink="xlink"><text x="40.00" y="1110.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerIsWaiting]]></text></a><image width="16.00" height="16.00" x="15.00" y="1123.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerPickedJob2" xmlns:xlink="xlink"><text x="40.00" y="1135.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerPickedJob]]></text></a><image width="16.00" height="16.00" x="15.00" y="1148.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerShutdown2" xmlns:xlink="xlink"><text x="40.00" y="1160.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerShutdown]]></text></a><image width="16.00" height="16.00" x="15.00" y="1173.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerStarted2" xmlns:xlink="xlink"><text x="40.00" y="1185.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerStarted]]></text></a><image width="16.00" height="16.00" x="15.00" y="1198.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#OnWorkerWokeUp2" xmlns:xlink="xlink"><text x="40.00" y="1210.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[OnWorkerWokeUp]]></text></a><image width="16.00" height="16.00" x="15.00" y="1223.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#RemoveThread" xmlns:xlink="xlink"><text x="40.00" y="1235.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[RemoveThread]]></text></a><image width="16.00" height="16.00" x="15.00" y="1248.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#RemoveWorker" xmlns:xlink="xlink"><text x="40.00" y="1260.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[RemoveWorker]]></text></a><image width="16.00" height="16.00" x="15.00" y="1273.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartConsuming" xmlns:xlink="xlink"><text x="40.00" y="1285.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartConsuming]]></text></a><image width="16.00" height="16.00" x="15.00" y="1298.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartWorkers" xmlns:xlink="xlink"><text x="40.00" y="1310.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="1323.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#StartWorking" xmlns:xlink="xlink"><text x="40.00" y="1335.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[StartWorking]]></text></a><image width="16.00" height="16.00" x="15.00" y="1348.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WaitForFinish" xmlns:xlink="xlink"><text x="40.00" y="1360.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WaitForFinish]]></text></a><image width="16.00" height="16.00" x="15.00" y="1373.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WakeUpSleepingWorkers" xmlns:xlink="xlink"><text x="40.00" y="1385.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WakeUpSleepingWorkers]]></text></a><image width="16.00" height="16.00" x="15.00" y="1398.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#QuickIOTransferServiceBase" xmlns:xlink="xlink"><text x="40.00" y="1410.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><image width="16.00" height="16.00" x="15.00" y="1423.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#QuickIOTransferServiceBase2" xmlns:xlink="xlink"><text x="40.00" y="1435.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[QuickIOTransferServiceBase]]></text></a><path d="M0.5,1450.50L325.00,1450.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><image width="16.00" height="16.00" x="15.00" y="1458.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#AddingCompleted" xmlns:xlink="xlink"><text x="40.00" y="1470.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[AddingCompleted { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1483.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#CancelRequested" xmlns:xlink="xlink"><text x="40.00" y="1495.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[CancelRequested { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1508.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#IsWorking" xmlns:xlink="xlink"><text x="40.00" y="1520.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[IsWorking { get; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1533.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxBufferSize" xmlns:xlink="xlink"><text x="40.00" y="1545.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxBufferSize { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1558.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxJobRetryAttempts" xmlns:xlink="xlink"><text x="40.00" y="1570.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxJobRetryAttempts { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1583.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#MaxWorkerCount" xmlns:xlink="xlink"><text x="40.00" y="1595.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[MaxWorkerCount { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1608.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#Observer" xmlns:xlink="xlink"><text x="40.00" y="1620.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[Observer { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1633.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#PriorityComparer" xmlns:xlink="xlink"><text x="40.00" y="1645.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[PriorityComparer { get; set; }]]></text></a><image width="16.00" height="16.00" x="15.00" y="1658.50" preserveAspectRatio="" xlink:href="" xmlns:xlink="xlink" /><a xlink:href="../type/QuickIOTransferServiceBase.html#WorkerCount" xmlns:xlink="xlink"><text x="40.00" y="1670.50" fill="#1382CE" style="" text-anchor="" font-family="" font-size="14.00" onmouseover="this.setAttribute('fill', '#F58026')" onmouseout="this.setAttribute('fill', '#1382CE')"><![CDATA[WorkerCount { get; }]]></text></a></g><g><path d="M524.50,1780.50L524.50,1755.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><path d="M519.50,1770.50L524.50,1780.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><path d="M529.50,1770.50L524.50,1780.50" stroke="#979797" stroke-width="1" stroke-dasharray="" /><path d="M524.50,1755.00L312.00,1755.00" stroke="#979797" stroke-width="1" stroke-dasharray="" /></g></svg>
						</div>
						<div class="legend">
							<p class="save"><a href="#"><i class="icon-save"></i>save</a></p>
							<p class="resetZoom"><a href="#"><i class="icon-refresh"></i>reset</a></p>
							<p>Drag to pan - Use Mousewheel + Ctrl to zoom</p>
						</div>
					</div>
							</div>
		</div>

    </body>
</html>

